Time encoding and decoding of a signal

ABSTRACT

Analog signals can be fully encoded as an asynchronous time sequence generated by a time encoding machine (TEM). With knowledge of the parameters of the time encoding machine, the asynchronous time sequence can be decoded using a non-linear time decoding machine. In one embodiment, the non-linear time decoding machine generates a set of weighted Dirac delta functions centered in the intervals of the asynchronous time sequence of the time encoding machine output. The weighting of each of the delta functions is determined by the parameters of the TEM as well as the values of the time sequence. The generation of the series of delta functions is a nonlinear operation ( 500, 510, 520 ). The input signal can be recovered from the series of weighted delta functions by ( 530 ) applying this series through an impulse response filter.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority from U.S. Provisional Patent Application Nos. 60/421,474 filed Oct. 25, 2002 and 60/421,675 filed Oct. 28, 2002, the disclosures of which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates generally to signal processing and more particularly relates to circuits and methods for recovering a signal from the output of a time encoding machine which maps amplitude information into an asynchronous time sequence.

BACKGROUND OF THE INVENTION

Most signals in the world in which we live are analog, i.e., cover a continuous range of amplitude values. However, most computer systems for processing these signals are binary digital systems. Generally, synchronous analog-to-digital (A/D) converters are used to capture analog signals and present a digital approximation of the input signal to a computer processor. That is, at precise moments in time synchronized to a system clock, the amplitude of the signal of interest is captured as a digital value. When sampling the amplitude of an analog signal, each bit in the digital representation of the signal represents an increment of voltage, which defines the resolution of the A/D converter. Analog-to-digital conversion is used in numerous applications, such as communications where a signal to be communicated may be converted from an analog signal, such as voice, to a digital signal prior to transport along a transmission line. Applying traditional sampling theory, a band limited signal can be represented with a quantifiable error by sampling the analog signal at a sampling rate at or above what is commonly referred to as the Nyquist sampling rate.

While traditional A/D conversion techniques have been effective, techniques based on amplitude sampling have limitations. For example, it has been a continuing trend in electronic circuit design to reduce the available operating voltage provided to integrated circuit devices. In this regard, over the last decade, power supply voltages have decreased from five volts to three volts and there remains a desire to reduce this further, such as to one volt or less. While digital signals can be readily processed at the lower supply voltages, traditional synchronous sampling of the amplitude of a signal becomes more difficult as the available power supply voltage is reduced and each bit in the A/D or D/A converter reflects a substantially lower voltage increment. Thus, there remains a need to develop circuits and methods for performing high resolution A/D and D/A conversion using substantially lower power supply voltages which will be desired in future designs.

In contrast to sampling a signal using synchronous A/D converters, circuits are known for performing asynchronous time encoding of a signal. One such circuit, referred to as an asynchronous sigma delta modulator (ASDM) is disclosed in U.S. Pat. No. 6,087,968 to Roza (“the '968 patent”). An example of such an ASDM is illustrated herein in FIG. 1. The ASDM generates an asynchronous duty cycle modulated square wave at output z(t) which is representative of the input signal, x(t). In the '968 patent, an ASDM is used to form an analog-to-digital converter by providing the output of the ASDM to a sampler and a linear decimating filter which is sampled at a rate above the bandwidth of the input signal. A problem with this approach is that the ASDM introduces non-linearities in z(t) which cannot be recovered using a linear decimation filter. As a result, the degree of signal recovery is limited. Another shortcoming with this approach is that the output of the ASDM must be over sampled by a high frequency clock. As the bandwidth of the input signal increases, the clock frequency also increases. Even if the desired clock rate can be achieved, such high frequency clocks demand significant power consumption.

While the '968 patent discloses the use of an ASDM to time encode an analog signal, certain characteristics of the ASDM circuit were not previously appreciated. For example, the '968 patent does not disclose a method of designing the ASDM in order to have the ASDM output signal be fully invertible, i.e., allow for theoretically perfect recovery of the input signal. Further, the '968 patent does not disclose that the ASDM is a non-linear system and that a non-linear recovery method is required to fully take advantage of this circuit.

OBJECTS AND SUMMARY

It is an object of the present invention to provide circuits and methods to encode and decode a band limited signal using asynchronous processes.

It is another object of the present invention to provide non-linear operations for recovering an input signal from the output of a time encoding machine, such as an ASDM or integrate and fire neuron circuit.

It is an object of the present invention to provide an improved method of recovering an input signal from the output of an asynchronous sigma delta modulator (ASDM).

In accordance with the present invention, a method is provided for recovering an input signal x(t) from the output signal of a Time Encoding Machine (TEM) which provides a binary asynchronous time sequence in response to a bounded input signal x(t). The method includes receiving the asynchronous time sequence from the TEM and measuring the transition times, such as the time of zero crossings, of the TEM output signal. From the TEM transition times, a set of weighted impulse functions is generated. The generation of weighted impulse functions can be computed, such as by applying an algorithm that resolves a non-linear recursive relationship or matrix form non-linear relationship. The input signal can be recovered by applying the set of weighted impulse functions to an impulse response filter. If the transition times are exactly known, the TEM is fully invertible and the input signal can be exactly recovered by the present methods. If the transition times are quantized, the quantization level determines the accuracy of recovery in a manner that is analogous to conventional amplitude sampling.

In one embodiment, the weighted impulse functions are a set of weighted Dirac delta functions which are centered in the time interval of successive zero crossings of the TEM output. The weighting value for each impulse function is related to the design parameters of the TEM and the transition times. For example, the weighted impulse functions can have weighting value coefficients c_(k) which can be expressed in matrix form as a column vector, c: c=G ⁺ q

-   -   where q is a column vector and         ∫_(tk)^(t_(k + 1))x(u)𝕕u = (−1)^(k)[−b(t_(k + 1) − t_(k)) + 2κδ]         q = [∫_(t_(k))^(t_(k + 1))x(u)𝕕u]  and  G = [∫_(t₁)^(t_(l + 1))g(u − s_(k))𝕕u]  and  where  G⁺         denotes the pseudo-inverse of matrix G. The input signal x(t)         can be recovered from the vector c by passing a train of impulse         functions weighted by this vector through an ideal impulse         response filter. The impulse response filter can be described as         g(t)=sin(Ωt)/πt. The recovery of the input signal can then be         expressed in matrix form as: x(t)=gc, where g is a row vector,         g=[g(t−s_(k))]^(T).

The TEM can take on many forms so long as the transition times from the TEM output relate to the input signal in an invertible manner. Examples of TEM circuits include an asynchronous sigma delta modulator circuit and an integrate and fire neuron circuit.

The methods of the present invention can be embodied in a time decoding machine (TDM) circuit. The TDM will generally be formed using a digital microprocessor or digital signal processing integrated circuit which has been programmed to carry out the methods of the present invention.

BRIEF DESCRIPTION OF THE DRAWING

Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying figures showing illustrative embodiments of the invention, in which:

FIG. 1 is a block diagram of a known circuit embodiment of an asynchronous sigma delta modulator (ASDM), which can be used as an embodiment of a time encoding machine (TEM) in the present invention;

FIG. 2A is a simplified block diagram illustrating a system in accordance with the present invention including a time encoding machine (TEM) for asynchronous time encoding of an input signal and a time decoding machine for subsequently recovering the input signal from the TEM output signal;

FIGS. 2B and 2C pictorially represent the operation of the ASDM of FIG. 1 operating as a time encoding machine where FIG. 2B is a graphical representation of an analog input signal, x(t), to the system of FIG. 2A and FIG. 2C is a graphical representation of the time encoded signal z(t) from the time encoding machine;

FIG. 3 is a simplified flow chart illustrating the operations of the time encoding machine (TEM) and time decoding machine (TDM) of the present invention;

FIG. 4 is a block diagram of a circuit including a TEM and one embodiment of a quantizer for the TEM output signal.

FIG. 5 is a pictorial representation of the operation of the time decoding machine;

FIGS. 6A and 6B are timing diagrams illustrating the operation of a TEM for a DC input signal; and

FIGS. 7A and 7B are timing diagrams illustrating the operation of a TEM in response to a time varying input signal, x(t);

FIG. 8 is a graph illustrating recovery error versus 6 for a compensated recovery algorithm in accordance with the present invention.

FIG. 9 is a block diagram of an alternate embodiment of a TEM circuit using an integrate and fire neuron circuit to time encode an input signal; and

FIG. 10 is a graph illustrating an example of the output signal from the TEM of FIG. 9.

Throughout the figures, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the subject invention will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments. It is intended that changes and modifications can be made to the described embodiments without departing from the true scope and spirit of the subject invention as defined by the appended claims.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention uses time encoding to digitize an analog signal and also uses appropriate non-linear decoding methods for subsequent recovery of the input signal. Thus, the systems and methods described apply to analog-to-digital (A/D) conversion and digital-to-analog (D/A) conversion using time encoding of a signal.

In the present application, the concepts of a time encoding machine (TEM) and time decoding machine (TDM) are introduced. As used herein, a TEM is a circuit or process which receives a bounded input signal and generates an asynchronous set of binary transitions, the timing of which are related to the amplitude of the input signal. More generally, a TEM is a circuit or process which maps amplitude information into time information. A time decoding machine is a circuit or process which is responsive to transition time data from a TEM and can process the transition time data to recover the input signal with arbitrary accuracy.

The block diagram of FIG. 2A provides a simplified description of the present invention. A band limited, amplitude limited signal x(t), as shown in FIG. 2B, is applied to the input of a Time Encoding Machine (TEM) 205 which generates a binary, asynchronous output z(t), illustrated in FIG. 2C. The TEM output signal z(t) is an asynchronous binary output whose zero crossings (t_(o), t₁, . . . t_(k)) are related to the amplitude of the input signal. It is now understood in connection with the present invention that the signal z(t) relates to the input signal x(t) in a non-linear fashion. By using the inverse of the non-linear relationship in a decoding algorithm in a Time Decoding Machine (TDM) 210, the input signal, x(t), can be recovered from knowledge of the zero crossings in z(t). If the zero crossings in z(t) are known precisely, then perfect recovery of the input signal is possible. If there is error attributable to the measurement of the zero crossings, the error in the recovery of x(t) is equivalent to magnitude of the error in the recovery of a signal using traditional amplitude sampling. That is, for the same number of bits used in sampling the signal, the current time encoding methods yield comparable results to known amplitude sampling systems.

FIG. 1 is a block diagram of a known Asynchronous Sigma Delta Modulator (ASDM) circuit which is suitable for use in one embodiment of TEM 205. The circuit of FIG. 1 generates a two-state output signal (b, −b) whose zero crossings are asynchronously determined by the amplitude of the input signal x(t) in combination with design parameters of the circuit. Because the timing of the zero crossings is asynchronously determined by the amplitude of the input signal, the ASDM can be viewed as a form of time encoding machine (TEM). If the input signal x(t) to the TEM is a band limited signal, then the system is invertible and the input signal, x(t), can be recovered from the TEM output signal, z(t), using an appropriate recovery process in the TDM. If the transition times are known exactly, the input signal can be fully recovered by the TDM. Accordingly, by knowing the expected maximum bandwidth of an input signal, the parameters of the TEM can be designed accordingly.

The underlying operating principle of a TEM can be understood by reference to FIG. 1. In order to realize complete recovery, it is expected that the input signal x(t) is bounded in both bandwidth, Ω, and amplitude, c. The input signal, x(t), is applied to an adder 105 which is coupled to the input of an integrator circuit 110. The integrator circuit 110 has an integration time constant, K. The output of the integrator circuit 110 is coupled to the input of a non-inverting Schmitt trigger 115.

The Schmitt trigger has two design parameters, the output voltage swing (b, −b) and the hysteresis value, δ. The output of the Schmitt trigger 115 provides a TEM output signal, z(t). The output of the Schmitt trigger 115 is also fed back to an inverting input to the adder 105. As a result, the bounded input signal x(t), |x(t)|≦c<b, is biased by a constant amount ±b before being applied to the integrator 110. This bias guarantees that the output of the integrator y(t) is either a positive-increasing or negative-decreasing function of time.

In the steady state, the TEM output signal z(t) can assume one of two states. In the first state, the TEM is in the state z(t)=−b and the input to the Schmitt trigger increases from −δ to δ. When the output of the integrator circuit 110 reaches the maximum value δ, a transition of the output z(t) from −b to b is triggered and the feedback signal applied to adder 105 becomes negative. In the second steady state of operation, the TEM is in the state z(t)=b and the integrator output steadily decreases from δ to −δ. When the maximum negative value −δ is reached, z(t) will reverse to −b. Thus, a transition of the output of the TEM from −b to b or from b to −b takes place each time the integrator output reaches the triggering threshold δ or −δ. The timing of these transitions, which result in the zero crossings, t_(o) . . . t_(k), depends on both the amplitude of the input signal x(t) and the design parameters of the TEM, such as the hysteresis of the Schmitt trigger, δ. Thus, the TEM is effectively mapping amplitude information into timing information using a signal dependent sampling mechanism.

The Schmitt trigger 115 can be characterized by two design parameters: the output voltage swing (b, −b) and the hysteresis value, δ. In order for the ASDM of FIG. 1 to operate as an invertible TEM, the amplitude of the input signal c must be less than output voltage swing of the Schmitt trigger, i.e., |c|<b. It has also been found that to fully recover the input signal from the TEM output signal, the hysteresis value, δ, must be less than the period of the Nyquist sampling rate. This can be expressed as: δ<(π/Ω)((b−c)/κ), where Ω represents the bandwidth of the input signal x(t), κ represents the integration constant of the TEM, and c represents the maximum amplitude of the input signal. Thus, the parameters of the TEM are to be set based on the expected limits of the input signal.

The set of trigger times t_(k) which comprise the output of the TEM can be expressed by the recursive equation: $\begin{matrix} {{\int_{tk}^{t_{k + 1}}{{x(u)}{\mathbb{d}u}}} = {{\left( {- 1} \right)^{k}\left\lbrack {{- {b\left( {t_{k + 1} - t_{k}} \right)}} + {2{\kappa\delta}}} \right\rbrack}.}} & \left( {{Eq}.\quad 1} \right) \end{matrix}$ for all integer values of k, i.e., k, kεZ. where κ is the integration constant of the TEM, δ is the hysteresis value of the Schmitt trigger in the TEM and b is the amplitude output voltage swing of the TEM output.

By dividing by b on both sides of equation (2), the output can be normalized and can be expressed as: $\begin{matrix} {{\int_{k}^{k + 1}{\frac{x(u)}{b}\quad{\mathbb{d}u}}} = {{\left( {- 1} \right)^{k}\left\lbrack {{- \left( {t_{k + 1} - t_{k}} \right)} + \frac{2{\kappa\delta}}{b}} \right\rbrack}.}} & \left( {{Eq}.\quad 2} \right) \end{matrix}$ for all k, kεZ, i.e., k is an element of the set of all integer numbers. Therefore, the increasing time sequence (t_(k)), kεZ, can be generated by an equivalent circuit with integration constant κ=1 and a Schmidt trigger with parameters κδ/b and 1. In what follows, without any loss of generality, this simplified version of the TEM will be used.

The input to the TEM is a bounded function x(t) with |x(t)|≦c<1 for all t, tεR., i.e., t is an element of the set of all real numbers. The output of the TEM is function z taking two values z: R→{−1,1} for all t, tεR, with transition times t_(k), kεZ, generated by the recursive equation $\begin{matrix} {{{\int_{t_{k}}^{t_{k + 1}}{{x(u)}{\mathbb{d}u}}} = {\left( {- 1} \right)^{k}\left\lbrack {{- \left( {t_{k + 1} - t_{k}} \right)} + \delta} \right\rbrack}},} & \left( {{Eq}.\quad 3} \right) \end{matrix}$ for all k, kεZ. This equation illustrates the mapping of the amplitude information of the signal x(t), tεR, into the time sequence (t_(k)), kεZ.

In the description that follows, the operation of the TEM is evaluated for the case where the input signal is a constant DC value. For this example, it is assumed that the TEM takes the form substantially presented in FIG. 1 and consists of an integrator with integrator constant κ=1 and Schmitt trigger with parameters δ from −δ/2 to δ/2 and b=1. In this case, x(t)=c (not necessarily positive), where c denotes a given DC level. If c<−1 or c>1 the output of the integrator would become unbounded, and thus the overall TEM would become unstable. This might lead to information loss because the output z(t) cannot track the input x(t). By bounding the input amplitude such that |c|<1, the TEM is stable and the sequence of transition times reduces to the simple recursion: $\begin{matrix} {{t_{k + 1} = {t_{k} + \frac{\delta}{1 + {\left( {- 1} \right)^{k}c}}}},} & \left( {{Eq}.\quad 4} \right) \end{matrix}$ and, therefore, t_(k)+1>t_(k), kεZ.

The integrator output, y(t), and the TEM output, z(t) for the case where the input signal is a constant value, are illustrated in the graphs of FIGS. 3A and 3B, respectively. Referring to FIGS. 3A and 3B, it is apparent that both the integrator output and TEM output, y(t) and z(t), respectively, are periodic signals with a period T The period T can be expressed as: $\begin{matrix} {T = {{t_{k + 2} - t_{k}} = {\frac{2\delta}{1 - c^{2}}.}}} & \left( {{Eq}.\quad 5} \right) \end{matrix}$ for all k, kεZ.

The mean value (the 0-th order Fourier-series coefficient) of z(t) can be expressed as: $\begin{matrix} {{\frac{\left( {- 1} \right)^{k}\left\lbrack {{- \left( {t_{k + 1} - t_{k}} \right)} + \left( {t_{k + 2} - t_{k + 1}} \right)} \right\rbrack}{T} = c},} & \left( {{Eq}.\quad 6} \right) \end{matrix}$ Equation 6 illustrates that the input signal and the output signal from the TEM have the same average value.

The transition times from the TEM output can be measured using conventional circuits and methods. FIG. 4 is one example of a circuit for quantizing and measuring the transition times t_(K) from the output of a TEM. The TEM 205 has an output which is coupled to a strobe input of a counter circuit 405. The counter 405 is also coupled to a clock circuit 410 which increments the counter value on each clock pulse. Thus the counter circuit 405 maintains a running count of clock pulses. On each occurrence of t_(K), the current counter value in counter circuit 405 is strobed to an N-bit output bus of the counter circuit 405. The counter output can then be provided to a digital processor 410 for storage and processing in accordance with the methods described herein. The counter values from the counter circuit 405 are transferred to the processor 410 at a rate equal to or greater than the Nyquist frequency of the input signal. Thus, the timing of the zero crossings are being quantized with a definable error based on the number of bits of resolution in the counter 405. The processor receives the quantized values of t_(k) as an N bit word from the counter 405 on each occurrence of t_(k).

The operation of the Time Decoding Machine (TDM) 210 will be described in connection with the flow chart of FIG. 5 and pictorial diagram of FIG. 6. FIG. 5 is a simplified flow diagram illustrating the operation of the TDM 210. As noted above, the TEM 205 operates by generating a set of signal dependent transition times (Step 500). The transition times are discrete real values and can be designated as t_(K)=[t₀, t₁, t₂, . . . , t_(K)]. From the set of signal dependent transition times, t_(K), the input signal x(t) can be represented as a set of weighted Dirac delta functions, S_(k). Each of the weighted delta functions has a time value determined by the center of each successive time interval (t_(K), t_(K+1)) and having a weighting value, c_(k), associated therewith. For example, referring to FIG. 6, S1 in 630 has a time value at the median value between to and to which are illustrated in 620 (Step 510).

The values of the weighting coefficients can be determined from the transition times, t_(k), and the Schmitt trigger hysteresis value, 8 (step 520). The coefficients c_(k) can be expressed in matrix form as a column vector, c: $\begin{matrix} {{c = {{G^{+}q{\int_{t_{k}}^{t_{k + 1}}{{x(u)}{\mathbb{d}u}}}} = {\left( {- 1} \right)^{k}\left\lbrack {{- \left( {t_{k + 1} - t_{k}} \right)} + \delta} \right\rbrack}}},{{{where}\quad q} = {{\left\lbrack {\int_{t_{k}}^{t_{k + 1}}{{x(u)}{\mathbb{d}u}}} \right\rbrack\quad{and}\quad G} = \left\lbrack {\int_{t_{l}}^{t_{l + 1}}{{g\left( {u - s_{k}} \right)}{\mathbb{d}u}}} \right\rbrack}}} & \left( {{Eq}.\quad 7} \right) \end{matrix}$ where G⁺ denotes the pseudo-inverse of matrix G.

The input signal x(t) can be recovered from the vector c by passing this vector through an ideal impulse response filter (Step 530). The impulse response filter can be described as g(t)=sin (Ωt)/nt. Such a filter can be formed as a digital filter using suitable programming of processor 420 (FIG. 4). It will be appreciated that other embodiments, such as analog filters and other digital filter embodiments are also contemplated by the present invention. The recovery of the input signal can be expressed in matrix form as: x(t)=gc, where g is a row vector, g=[g(t−s_(k))]^(T)  (Eq. 8)

The method steps described in connection with the flow diagram of FIG. 5 are represented pictorially in FIG. 6. An input signal x(t) is applied to the input of a TEM 610, such as a properly designed ASDM as illustrated in FIG. 1 and described above. The TEM 610 provides an output comprising signal dependent asynchronous timing data derived from x(t) 620. Based on the value of the hysteresis of the TEM, δ, the time sequence of z(t) is converted into a matrix of weighted Dirac delta functions, S_(k) 630. The weighted Dirac delta functions have a time value centered between consecutive zero crossings t_(k). The weighting value is expressed above, c=G+q. The sequence S_(k) 630 can then be applied to an ideal impulse response filter g (step 640) which recovers the original signal, x(t).

In the method described above, perfect signal recovery can be achieved with knowledge of the signal bandwidth, upper bound on the signal amplitude with respect to the output swing of the Schmitt trigger and the hysteresis value of the Schmitt trigger, δ, and exact knowledge of the transition times, t_(k). However, in many practical cases, errors are attributable in determining the values of the trigger times in z(t) as well as in determining the exact value of the hysteresis.

The error associated with the measurement of the trigger times results from quantization of the timing information such that the transition times are not exactly known, i.e., the times are known within the quantization level used. It can be shown that the resulting error from time encoding is comparable to that of amplitude sampling, when the same number of bits of resolution are used in each case.

A reasonable comparison between the effects of amplitude and time quantization can be established if we assume that the quantized amplitudes and quantized trigger times are transmitted at the same bitrate. Since x(s_(k)) and T_(k) are associated with the trigger times t_(k) and t_(k+1), the same transmission bitrate is achieved if the x(s_(k))'s and the T_(k)'s are represented by the same number of bits N. With −c≦x≦c, the amplitude quantization step amounts to ε=2c/2^(N).

For time encoding T_(min)=min_(κeZ)T_(k)≦T_(K)≦max_(keZ)T_(k)=T_(max) or equivalently 0≦T_(k)−T_(min)≦T_(max)−T_(min). Therefore, if T_(min) is exactly known, then only measuring T_(k)−T_(min), kεZ, in the range (0,T_(max)−T_(min)) is needed. Hence: $\begin{matrix} {\Delta = {\frac{T_{\max} - T_{\min}}{2^{N}} = {{\frac{1}{2^{N}}\left( {\frac{\delta}{1 - c} - \frac{\delta}{1 + c}} \right)} = \frac{\delta ɛ}{1 - c^{2}}}}} & \left( {{Eq}.\quad 9} \right) \end{matrix}$ where Δ is the quantization step of the time sequence. Equation 9 illustrates how the quantization step of the time sequence is related to the amplitude quantization step.

The hysteresis value δ is often determined by analog components in the TEM, such as resistors and capacitors which exhibit a base line tolerance as well as variations over temperature, time and the like. The error that is associated with variations in the exact value of δ can be substantially eliminated by the use of a compensation method that is described below.

In the case where the TEM is embodied as an ASDM, such as illustrated in FIG. 1, following each transition of z(t), the polarity of the signal changes. This is evident from the equations for calculating t_(k), such as Equation 3, which includes a term (−1)^(k) which reflects this sign change on each transition, k. Since Equation 3 also includes δ for each instance of t_(k), it will be appreciated that by evaluating the signal over a window spanning two consecutive instances of t_(k), the δ term will be positive in one case and negative in the next, thereby canceling the effect of any variation in δ over this window. The principle behind the δ compensated algorithm can be described as follows: ${h = {\frac{1}{2}\left\lbrack {g\left( {t - t_{k + 1}} \right)} \right\rbrack}^{T}},{q = {\left\lbrack {\int_{t_{k}}^{t_{k + 2}}{{x(u)}{\mathbb{d}u}}} \right\rbrack\quad{and}}}$ $H = {{\frac{1}{2}\left\lbrack {\int_{t_{l}}^{t_{l + 2}}{{g\left( {t - t_{K + 1}} \right)}{\mathbb{d}u}}} \right\rbrack}.}$ The band limited signal x can be perfectly recovered from its associated trigger times (t_(k)), kεZ, as $\begin{matrix} {{x(t)} = {\begin{matrix} {\lim\quad{x_{l}(t)}} \\ \left. l\rightarrow\infty \right. \end{matrix} = {{hH}^{+}q}}} & \left( {{Eq}\quad.\quad 10} \right) \end{matrix}$ where H⁺ denotes the pseudo-inverse of H. Furthermore, x ₁(t)=hP _(l) q, where P_(l) is given by $P_{l} = {\sum\limits_{k = 0}^{l}\quad{\left( {I - H} \right)^{k}.}}$ More generally, by defining a matrix B with ones on two diagonals: $B = \begin{matrix} ⋰ & \quad & \quad & \quad & \quad & \quad \\ {\cdots 1} & 1 & 0 & 0 & 0 & {0\cdots} \\ {\cdots 0} & 1 & 1 & 0 & 0 & {0\cdots} \\ {\cdots 0} & 0 & 1 & 1 & 0 & {0\cdots} \\ {\cdots 0} & 0 & 0 & 1 & 1 & {0\cdots} \\ \quad & \quad & \quad & \quad & \quad & ⋰ \end{matrix}$ the input signal recovery algorithm can be expressed: x(t)=g ^(T)(t)[(B ⁻¹)(BG(B ⁻¹)^(T))⁺ [Bq]  (Eq. 11) The two diagonal row B matrix illustrated above is but one form of processing which can be used. It will be appreciated that other general expressions of this matrix can also be applied.

The compensation δ-insensitive recovery algorithm achieves perfect recovery. Simulation results for the δ-sensitive and δ-insensitive recovery algorithms are shown in FIG. 8, with graph lines denoted by stars and circles, respectively.

The δ-insensitive recovery algorithm recognizes that in two consecutive time periods of t_(k), the period of each cycle is dependent on δ and the output changes polarity from b to −b or vice versa. By looking at the output z(t) over two consecutive time periods, i.e., t_(n), t_(n+2), the error in the recovered version of x(t) attributable to δ can effectively be eliminated.

FIG. 9 illustrates an alternate embodiment of a TEM. The circuit of FIG. 9 can be described as an integrate and fire neuron with an absolute refractory period, Δ. The TEM of FIG. 9 includes an adder 905 to which an input signal x(t) is applied. The other terminal of the adder circuit 905 is coupled to a fixed bias voltage, b. The adder 905 is coupled to the input of an integrate and dump circuit 910. The integrate and dump circuit 910 integrates the input signal with an integration constant of κ until a dump or reset signal is received on input 915. The output of the integrator is applied to a threshold detector 920 which has an output which is zero until the input signal exceeds the threshold level, δ. When the input voltage to the threshold detector 920 exceeds the threshold level value the output transitions to a logic 1. The output of the threshold detector 920 is coupled to the dump input 915 of the integrate and dump circuit 910. A small time delay element τ (not shown) may be included in this circuit path to provide a more defined pulse at the threshold detector output, which will generate the transition times t_(k). The integrator constant κ, the threshold δ, the bias b in FIG. 9 are strictly positive real numbers; x(t), tεR, is a signal of finite energy on R that models the input stimulus to the TEM. Furthermore, x is bounded, |x(t)|≦c<b, and band limited to [−Ω,Ω]. The output of the integrator in a small neighborhood of t_(O)+Δ, t>t_(O)+Δ is given by: $\begin{matrix} {{y(t)} = {{y\left( {t_{o} + \Delta} \right)} + {\frac{1}{k_{t_{0}}}{\int_{+ \Delta}^{t}{\left\lbrack {{x(u)} + b} \right\rbrack\quad{{\mathbb{d}u}.}}}}}} & \left( {{Eq}.\quad 12} \right) \end{matrix}$ The term Δ represents the absolute refractory period of the circuit, which is a small but finite time period between the time the integrator resets and the time the integrator begins its next integration period. The absolute refractory period alters the transfer function of the integrator from h(t)=1 for t≧0 and h(t)=0 for all other t, to h(t)=1 for t≧Δ and h(t)=0 for all other t. Due to the bias signal b, the integrator output y=y(t) is a continuously increasing function. The output of the TEM is a time sequence (t_(k)), kεZ.

The output of the TEM of FIG. 9 is a strictly increasing set of trigger times (t_(k)), kεZ, that satisfy the recursive equation $\begin{matrix} {{{\int_{{tk} + \Delta}^{{tk} + 1}{{x(u)}\quad{\mathbb{d}u}}} = {{- {b\left( {t_{K + 1} - t_{K} - \Delta} \right)}} + {\kappa\delta}}},} & \left( {{Eq}.\quad 13} \right) \end{matrix}$ for all k, kεZ. For all input stimuli x=x(t), tεR, with |x(t)|≦c<b, the distance between consecutive trigger times t_(k) and t_(k+1) is given by: $\begin{matrix} {{\frac{\kappa\delta}{b + c} + \Delta} \leq {t_{k + 1} - t_{k}} \leq {\frac{\kappa\delta}{b + c} + \Delta}} & \left( {{Eq}.\quad 14} \right) \end{matrix}$ for all k, kεZ.

The circuit of FIG. 9 can be generalized further by considering the integrator circuit to be a non-ideal integrator. If the capacitor in the integrator circuit is considered leaky, i.e., in parallel with a finite resistance, the leaky integrator resembles a more general low pass filter response. The leaky integrate-and-fire circuit can be defined by the transfer function:

-   -   h(t)=(1/κ)e⁻¹t≧0; h(t)=0 otherwise.

The present invention provides systems and methods for digitizing an analog signal using time encoding rather than amplitude encoding of the signal. The present methods also provide for recovery of the time encoded signal with an error which is comparable to that of traditional amplitude encoding when the sampling occurs at or above the Nyquist sampling rate. The present methods are particularly well suited for low voltage analog applications where amplitude sampling may be limited by the small voltage increments represented by each bit when high resolution sampling is required with only a limited voltage supply. The ability to accurately encode analog signals using limited supply voltages makes the present circuits and methods well suited to use in nano-scale integration applications.

Although the present invention has been described in connection with specific exemplary embodiments, it should be understood that various changes, substitutions and alterations can be made to the disclosed embodiments without departing from the spirit and scope of the invention as set forth in the appended claims. 

1. A method of recovering an input signal from the output signal of a Time Encoding Machine (TEM), the TEM providing a binary asynchronous time sequence in response to a bounded input signal, comprising: measuring the time of transitions of the TEM output signal; generating a set of weighted impulse functions based upon the measured time of the zero crossings; and applying the set of weighted impulse functions to an impulse response filter to recover the input signal.
 2. A method of recovering an input signal from the output signal of a Time Encoding Machine according to claim 1, wherein consecutive zero crossings of the TEM define time intervals and wherein the weighted impulse functions have time values that are centered on the time intervals of the TEM output signal.
 3. A method of recovering an input signal from the output signal of a Time Encoding Machine according to claim 1, wherein the weighted impulse functions have a weighting value determined by the time values of at least two zero crossings and at least one property of the TEM.
 4. The method of recovering an input signal from the output signal of a Time Encoding Machine according to claim 3, wherein the weighted impulse functions have weighting value coefficients ck which can be expressed in matrix form as a column vector, c: $\begin{matrix} {c = {G^{+}q}} \\ {{{where}\quad q} = {{\left\lbrack {\int_{t_{k}}^{t_{k + 1}}{{x(u)}\quad{\mathbb{d}u}}} \right\rbrack{and}\quad G} = \left\lbrack {\int_{t_{l}}^{t_{l + 1}}{{g\left( {u - s_{k}} \right)}\quad{\mathbb{d}u}}} \right\rbrack}} \end{matrix}$ and where G⁺ denotes the pseudo-inverse of matrix G.
 5. The method of recovering an input signal from the output signal of a Time Encoding Machine (TEM) according to claim 1, wherein the TEM is characterized at least in part by the relationship δ<(π/Ω)((b−c)/κ), where a represents a hysteresis value of the TEM, b represents an output voltage of the TEM, κ represents an integration constant of the TEM, Ω represents the bandwidth of the input signal x(t) and c represents the maximum amplitude bound of the input signal, and wherein the sequence of transition times generated by the TEM can be expressed as ∫_(t_(k))^(t_(k + 1))x(u)  𝕕u = (−1)^(k)[−b(t_(k + 1) − t_(k)) + 2κδ].
 6. A method of recovering a bounded input signal from the output signal of a time encoding machine (TEM) comprising: determining the amplitude and bandwidth of an input signal to the TEM; setting at least one TEM parameter in accordance with the bounding constraints of the input signal; determining the timing of state changes of the TEM output signal; and applying a non-linear inversion operation based at least in part on the at least one TEM parameter of the state changes of the TEM output signal to recover the input signal from the subset of zero crossings.
 7. The method of claim 6 wherein the TEM takes the form of an ASDM including a Schmitt trigger and wherein the parameters related to the TEM output signal include a Schmitt trigger bound level.
 8. The method of claim 6 wherein the TEM includes a Schmitt trigger and wherein the parameters related to the TEM output signal include a Schmitt trigger hysteresis level.
 9. The method of claim 6 wherein the TEM takes the form of an integrate and fire neuron circuit including threshold detector and wherein the parameters related to the TEM output signal include the threshold detector level.
 10. The method of claim 9, wherein the integrate and fire neuron circuit includes an integrator constant and wherein the parameters related to the TEM output signal include the integrator constant.
 11. The method of claim 6, wherein the non-linear inversion operation comprises a recursive algorithm employing successive zero crossings.
 12. The method of claim 11, wherein the recursive algorithm takes the form x(t)=g^(T)(t)[(B⁻¹)(BG(B⁻¹)^(T))⁺[Bq].
 13. The method of claim 11, wherein the recursive algorithm takes the form $\begin{matrix} {{x(t)} = {\begin{matrix} {\lim\quad{x_{l}(t)}} \\ \left. l\rightarrow\infty \right. \end{matrix} = {{hH}^{+}{q.}}}} \\ {{{{where}\quad h} = {\frac{1}{2}\left\lbrack {g\left( {t - t_{k + 1}} \right)} \right\rbrack}^{T}},{q = \left\lbrack {\int_{t_{k}}^{t_{k + 2}}{{x(u)}\quad{\mathbb{d}u}}} \right\rbrack}} \\ {H = {\frac{1}{2}\left\lbrack {\int_{t_{l}\quad}^{t_{l + 2}}{{g\left( {t - t_{K + 1}} \right)}{\mathbb{d}u}}} \right\rbrack}} \end{matrix}$ and wherein H⁺ denotes the pseudo-inverse of H.
 14. A system for time encoding and time decoding of a signal x(t) comprising: a time encoding machine, the time encoding machine having an output voltage swing b, and integrator constant, κ, and a hysteresis value δ, wherein δ<(π/Ω)((b−c)/κ), where Ω represents the bandwidth of the input signal x(t) and c represents the maximum amplitude of the input signal x(t) and where |c|<b, the TEM generating a sequence of transition times: ∫_(t_(k))^(t_(k + 1))x(u)  𝕕u = (−1)^(k)[−b(t_(k + 1) − t_(k)) + 2κδ]. a time decoding machine, the time decoding machine receiving the sequence of transition times and applying at least one non-linear operation to recover the input signal x(t) therefrom.
 15. The system of claim 14, wherein the transition times are exactly known and wherein the time decoding machine fully recovers the input signal from the sequence of transition times.
 16. The system of claim 14, wherein the transition times are quantized and wherein the precision of the recovery of the input signal by the TDM is related to the number of bits used to quantize the transition time values.
 17. The system of claim 14, wherein the transition times are quantized in the TDM which includes an N-bit counter driven by a clock having a clock frequency, the counter outputting an N-bit counter value on each occurrence of a transition time.
 18. The system of claim 14, wherein the TEM takes the form of an Asynchronous Sigma Delta Modulator.
 19. A time decoding machine (TDM), the time decoding machine recovering a band limited signal from a sequence of transitions generated by a time encoding machine, the TDM comprising: a time measurement circuit, the time measurement circuit generating an N-bit quantized representation of the time value of the transitions provided at an input terminal of the time measurement circuit; a processor coupled to the time measurement circuit and receiving the output of the time measurement circuit at a rate at least equal to the Nyquist rate of a signal to be decoded, the processor being programmed to perform the steps: generating a set of weighted impulse functions based upon the timing of the zero crossings; and applying the set of weighted impulse functions to an impulse response filter to recover the input signal.
 20. The TDM of claim 19, wherein consecutive zero crossings of the TEM define time intervals and wherein the weighted impulse functions have time values that are centered on the time intervals of the TEM output signal.
 21. The TDM according to claim 19, wherein the weighted impulse functions have a weighting value determined by the processor by evaluating consecutive zero crossings and at least one property of the TEM.
 22. The TDM according to claim 21, wherein processor the weighted impulse functions have weighting value coefficients c_(k) determined by the processor which can be expressed in matrix form as a column vector, c: c = G⁺q where  q = [∫_(t_(κ))^(t_(κ + 1))x(u)  𝕕u]  and  G = [∫_(t_(l))^(t_(l + 1))g(u − s_(k))  𝕕u] and where G⁺ denotes the pseudo-inverse of matrix G.
 23. The TDM according to claim 20, wherein the TEM is characterized at least in part by the relationship δ<(π/Ω)((b−c)/κ), where δ represents a hysteresis value of the TEM, b represents an output voltage of the TEM, κ represents an integration constant of the TEM, Ω represents the bandwidth of the input signal x(t) and c represents the maximum amplitude bound of the input signal, and wherein the sequence of transition times generated by the TEM can be expressed as ∫_(tk)^(k + 1)x(u)  𝕕u = (−1)^(k)[−b(t_(k + 1) − t_(k)) + 2k  δ].
 24. A system for time encoding and time decoding of a signal x(t) comprising: a time encoding machine, the time encoding machine having an output voltage swing b, and integrator constant, κ, and a hysteresis value 8, wherein 0<(π/Ω)((b−c)/κ), where Ω represents the bandwidth of the input signal x(t) and c represents the maximum amplitude of the input signal x(t) and where |c|<b, the TEM generating a sequence of transition times: ∫_(tk)^(k + 1)x(u)  𝕕u = (−1)^(k)[−b(t_(k + 1) − t_(k)) + 2κ  δ]. a time decoding machine, the time decoding machine receiving the sequence of transition times and applying at least one non-linear operation to recover the input signal x(t) therefrom.
 25. The system of claim 24, wherein the transition times are exactly known and wherein the time decoding machine fully recovers the input signal from the sequence of transition times.
 26. The system of claim 24, wherein the transition times are quantized and wherein the precision of the recovery of the input signal by the TDM is related to the number of bits used to quantize the transition time values.
 27. The system of claim 24, wherein the transition times are quantized in the TDM which includes an N-bit counter driven by a clock having a clock frequency, the counter outputting an N-bit counter value on each occurrence of a transition time.
 28. The system of claim 24, wherein the TEM takes the form of an integrate and fire neuron circuit. 